<?  
  set_time_limit(4500);
  /* Se asegura que el archivo es incluido por el index */
    defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Poesia_exe( $this );
    
	class Poesia_exe extends Exe
	{
	function Poesia_exe( &$oModule )
		{
			$this->Exe( $oModule );
		}
		// AGREGAR_POESIA
		function insert()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Poesia_frm' );
			extract( $oForm->getFieldArray() );
			// Busca el siguiente id
			$ncPoesia      = $this->oDatabase->nextKey("gtPoesia", "ncPoesia"  );
			$this->oDatabase->insert("gtPoesia"
								,"ncPoesia", $ncPoesia
								,"cdPoesia", $cdPoesia
								,"cContenido", $cContenido
								,"ncPersona", $ncPersona
								,"dPoesia", $dPoesia);

			// Agrega los rotulos
				$aRotulo = $oForm->aFields['aRotulo']->getValue();
				foreach ( $aRotulo as $ncRotulo )
				{
					$bOk = $this->oDatabase->insert( "gtPoesiaRotulo",
											"ncRotulo", $ncRotulo,
											"ncPoesia", $ncPoesia );
				}

			$this->setInputData( $ncPoesia, $cdPoesia );
		}
	function updateTag()
		{
			$ncPoesia = getParam( 'ncPoesia' );
			$ncRotulo = getParam( 'ncRotulo' );
			$cNewItem = getParam( 'newItem' );
			if ( $cNewItem )
			{
				$ncRotulo = $this->oDatabase->nextKey( "gtRotuloPoesia", "ncRotulo" );
				$bOk = $this->oDatabase->insert( "gtRotuloPoesia",
										"ncRotulo", $ncRotulo, "cdRotulo", $cNewItem );
			}
			if ( $ncPoesia && $ncRotulo )
			{
				$bOk = $this->oDatabase->insert( "gtPoesiaRotulo",
										"ncRotulo", $ncRotulo, "ncPoesia", $ncPoesia );
			}
		}
		
		// ELIMINAR_POESIA
		function delete()
		{
			$ncPoesia = getParam( 'ncPoesia' );
			$this->oDatabase->delete("gtPoesia","ncPoesia", $ncPoesia );
		}
		
		// MODIFICAR_POESIA
		function update()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Poesia_frm' );
			extract( $oForm->getFieldArray() );
			$this->oDatabase->update("gtPoesia"
								,"cdPoesia", $cdPoesia
								,"cContenido", $cContenido
								,"dPoesia", $dPoesia
								,"ncPersona", $ncPersona
								,"WHERE"
								 ,"ncPoesia", $ncPoesia);
								 
			// Agrega los rotulos
				$aRotulo = $oForm->aFields['aRotulo']->getValue();
				foreach ( $aRotulo as $ncRotulo )
				{
					$bOk = $this->oDatabase->insert( "gtPoesiaRotulo",
											"ncRotulo", $ncRotulo,
											"ncPoesia", $ncPoesia );
				}
								 
			$this->setInputData( $ncPoesia, $cdPoesia );
		}
	}
?>